package com.molichuxing.gateway.bff.user.entity.response;

import com.molichuxing.framework.dto.ResponseRootDto;
import com.molichuxing.services.property.DrivingLicenseStatusEnum;
import com.molichuxing.services.property.UserSexEnum;

import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * 
 * @author liyg
 * 2019-08-06
 * 驾驶证vo
 * 
 */
@Data
@EqualsAndHashCode(callSuper = true)
public class DrivingLicenseVo extends ResponseRootDto {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "用户id")
    private Integer userId;

    @ApiModelProperty(value = "姓名")
    private String name;

    @ApiModelProperty(value = "性别 1:男 0：女")
    private Integer sex;
    
    @ApiModelProperty(value = "性别 Str")
    private String sexStr;

    @ApiModelProperty(value = "出生年月")
    private String birthDate;

    @ApiModelProperty(value = "驾驶证号")
    private String licenseCode;

    @ApiModelProperty(value = "准驾车型")
    private String model;

    @ApiModelProperty(value = "有效开始日期")
    private String beginDate;

    @ApiModelProperty(value = "有效结束日期")
    private String endDate;

    @ApiModelProperty(value = "正面照url")
    private String frontalPhotoUrl;

    @ApiModelProperty(value = "反面照url")
    private String negativePhotoUrl;

    @ApiModelProperty(value = "国籍")
    private String nationality;

    @ApiModelProperty(value = "地址")
    private String address;
    
    @ApiModelProperty(value = "积分")
    private Integer integral;

    @ApiModelProperty(value = "档案编号")
    private String archivesCode;

    @ApiModelProperty(value = "数据来源 （1：orc识别（人工），2：第三方接口）")
    private Integer dataSource;
    
    @ApiModelProperty(value = "数据来源Str")
    private String dataSourceStr;

    @ApiModelProperty(value = "上传时间（验证时间）")
    private String verifyTime;

    @ApiModelProperty(value = "验证状态(0: 验证失败 ，1：验证通过，2：待验证)")
    private Integer status;

    @ApiModelProperty(value = "验证状态Str")
    private String statusStr;
    
    @ApiModelProperty(value = "审核状态(0：未审核，1：审核通过，2：驳回)")
    private Integer verifyStatus;

    @ApiModelProperty(value = "驳回原因")
    private String rejectReason;

    @ApiModelProperty(value = "审核人账号")
    private String accountAccount;
   
    @ApiModelProperty(value = "用户账号(默认用手机号，只能修改一次)")
    private String userName;
    
    @ApiModelProperty(value = "手机号")
    private String phone;

    public void setStatus(Integer status) {
    	this.status=status;
    	this.statusStr= status == null ? null : DrivingLicenseStatusEnum.getName(status);
    }

    public void setSex(Integer sex) {
    	this.sex=sex;
    	this.sexStr= sex==null ? null : UserSexEnum.getName(sex);
    }





}
